SMASH: A Next-Generation API for Programmable Graphics Accelerators
نویسنده
چکیده
The SMASH API is a testbed for real-time, low-level graphics con-cepts. It is being developed to serve as a concrete target for thedevelopment of advanced extensions to OpenGL as well as a driverto test hardware architectures to support these extensions. SMASHis syntactically and conceptually similar to OpenGL but supports(along with other experimental features) a programmable shadersub-API that is compatible with both multi-pass and single-pass im-plementations of shaders.Arbitrary numbers of shader parameters of various types can bebound to vertices of geometric primitives using a simple immediate-mode mechanism. Run-time specification, manipulation, and com-pilation of shaders is supported. The intermediate-level shad-ing language includes integrated support for per-vertex and per-fragment shaders under a common programming model.Implementation of real-time rendering effects using SMASHcould be enhanced with metaprogramming toolkits and techniques,up to and including RenderMan-like textual shading languages andC++ toolkits with similar levels of compactness and functional-ity. We give several examples of how a two-term separable BRDFapproximation could be implemented using such higher-level con-structs. CR Categories: I.3.1 [Computer Graphics]: HardwareArchitecture—Graphics Processors; I.3.7 [Computer Graphics]:Three-Dimensional Graphics and Realism—Color, shading, shad-owing, and texture.
منابع مشابه
Sustainable Software Development for Next-Gen Sequencing (NGS) Bioinformatics on Emerging Platforms
The advent of Next Generation Sequencing (NGS) technology more than half a decade ago produced a deluge of DNA sequence data by completely altering the scale at which sequence data is generated and dramatically reducing sequencing costs. Both the increase in sheer volume of data being produced —fed by the continually increasing throughput and decreasing costs of sequencing technologies— and the...
متن کاملA Scalable and Reconfigurable Shared-Memory Graphics Cluster Architecture
If the computational demands of an interactive graphics rendering application cannot be met by a single commodity Graphics Processing Unit (GPU), multiple graphics accelerators may be utilised on multi-GPU based systems such as SLI [1] or Crossfire [2] or by a cluster of PCs in conjunction with a software infrastructure. Typically these PC cluster solutions allow the application programmer to u...
متن کاملGPU based synthetic scene generation for maritime environments
Hardware and software in the loop modeling of maritime environments involves a wide variety of complex physical and optical phenomenology and effects. The scale of significant effects to be modeled range from the order of centimeters for capillary type waves and turbulent wake effects up to many meters for rolling waves. In addition, wakes for boats and ships operating at a wide variety of spee...
متن کاملAPI-Compiling for Image Hardware Accelerators Technical Report – MINES ParisTech A/500/CRI
We present an API-based compilation strategy to optimize image applications, developed using a high level image processing library, onto three different image processing hardware accelerators. The library API provides the semantics of the image computations. The three image accelerator targets are quite distinct: the first one uses a vector architecture; the second one presents a SIMD architect...
متن کاملReal-time Ray Tracing on Programmable Graphics Hardware
Recently a breakthrough has occurred in graphics hardware: fixed function pipelines have been replaced with programmable vertex and fragment processors. In the near future, the graphics pipeline is likely to evolve into a general programmable stream processor capable of more than simply feed-forward triangle rendering. In this paper, we evaluate these trends in programmability of the graphics p...
متن کامل